import scala.collection.mutable

object TestMutableSetAndMap {
  def main(args: Array[String]): Unit = {
    /**
     * @ 7.4.2 可变mutable.Set
     * 1）说明
     * （1）创建可变集合mutable.Set
     * （2）打印集合
     * （3）集合添加元素
     * （4）向集合中添加元素，返回一个新的Set
     * （5）删除数据
     * */
    //（1）创建可变集合
    val set = mutable.Set(1, 2, 3, 4, 5, 6)

    //（3）集合添加元素
    set += 8

    //（4）向集合中添加元素，返回一个新的Set
    val ints = set.+(9)
    println(ints)
    println(" set2= " + set)

    //（5）删除数据 -- 而非删除下标为 5 处的元素
    set -= (5)

    //（2）打印集合
    set.foreach(println)
    println(set.mkString(","))

    /**
     * @ 7.5.2 可变Map
     * 1）说明
     * （1）创建可变集合
     * （2）打印集合
     * （3）向集合增加数据
     * （4）删除数据
     * （5）修改数据
     * */
    //（1）创建可变集合
    val map = mutable.Map("a" -> 1, "b" -> 2, "c" -> 3)
    //（3）向集合增加数据
    map.+=("d" -> 4)
    // 将数值4添加到集合，并把集合中原值1返回
    val maybeInt: Option[Int] = map.put("a", 4)
    println(maybeInt.get)
    //（4）删除数据
    map.-=("b", "c")
    //（5）修改数据
    map.update("d", 5)
    map("d") = 5
    //（2）打印集合
    map.foreach((kv) => {
      println(kv)
    })
  }

}
